package com.project.mapper;


import com.github.pagehelper.PageInfo;
import com.project.bean.ProjectBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProjectMapper {
    /**
     * 分页动态查询项目，同时统计每个项目的参与人数
     * @param name 项目名称
     * @param status 项目状态
     * @param order 排序规则
     * @return 项目集合
     */
    public List<ProjectBean> cutByItem(@Param("name")String name,
                                       @Param("status")String status,
                                       @Param("order")String order);

    /**
     * 添加新项目
     * @param project 项目对象
     */
    public void add(ProjectBean project);

    /**
     * 按id 查询项目详细信息，并查询参与项目员工姓名，开工时间和完成时间
     * @param id 项目id
     * @return 项目对象
     */
    public ProjectBean findById(int id);

    /**
     * 查询未完成项目集合，同时统计每个项目的参与人数
     * @return 项目集合
     */
    public List<ProjectBean> findNotFinish();

    /**
     * 项目交付使用，修改项目状态为已交付，同时将正在进行的项目进度完成时间修改为当前时间
     * @param id 项目id
     */
    public void updateProjectStatus(int id);
}
